﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using QuanLyKho.DataAccess;
using QuanLyKho.GUI.Library;
using QuanLyKho.Common;

namespace QuanLyKho.GUI
{
    public partial class frmChangePassword : Form
    {
        clsLibrary clsMD5 = new clsLibrary();
        private string strPasswordOld = string.Empty;
        private long ID = 0;
        public frmChangePassword()
        {
            InitializeComponent();
            strPasswordOld = string.Empty;
            ID = 0;
        }

        public frmChangePassword(long _ID)
        {
            InitializeComponent();
            ID = _ID;
            strPasswordOld = clsMD5.DeCrypt(new clsDataAccessUser().UserSelectOneWithId(_ID)[0].Password, "Havitel");
            txtUserName.Text = new clsDataAccessUser().UserSelectOneWithId(_ID)[0].UserName.ToString();
        }

        private void btnHuy_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void btnDongY_Click(object sender, EventArgs e)
        {
            string PasswordOld = txtPasswordOld.Text;
            string PasswordNew = txtPasswordNew.Text;
            string PasswordNewAgain = txtPasswordNewAgain.Text;
            if (PasswordOld.Length < 1)
            {
                new clsLibrary().runLoading("Hãy nhập mật khẩu cũ trước.", 0);
                txtPasswordOld.Focus();
                return;
            }
            else
            {
                if (!PasswordOld.ToLower().Equals(strPasswordOld.ToLower()))
                {
                    new clsLibrary().runLoading("Mật khẩu cũ không chính xác.", 0);
                    txtPasswordOld.Focus();
                    return;
                }
            }

            if (PasswordNew.Length < 1)
            {
                new clsLibrary().runLoading("Hãy nhập mật khẩu mới.", 0);
                txtPasswordNew.Focus();
                return;
            }
            else
            {
                if (!PasswordNewAgain.Equals(PasswordNew))
                {
                    new clsLibrary().runLoading("Mật khẩu mới nhập lại không chính xác.", 0);
                    txtPasswordNewAgain.Focus();
                    return;
                }
            }
            if (new clsDataAccessUser().UserChangePassword(ID, clsMD5.EnCrypt(PasswordNewAgain, "Havitel")) > 0)
            {
                new clsLibrary().runLoading("Đã đổi mật khẩu thành công.", 2);
                this.Close();
            }
            else
            {
                new clsLibrary().runLoading("Có lỗi xảy ra khi đổi mật khẩu.", 0);
            }
        }
    }
}
